###########################################################################
# $Id: EngineInstances.p 42 2009-06-26 10:21:08Z donbeave $
###########################################################################

@CLASS
EngineInstances

@USE
ConceptInstances.p

@BASE
ConceptInstances

@OPTIONS
locals

#----- Constructor -----

@create[hshOptions]
  ^BASE:create[$hshOptions]

# устанавливаем сайт используемый клиентом
  ^STORAGE.useSite[$self.clientSite]

#----- Events -----

@onInit[objAction]
  $result[^BASE:onInit[objAction]]

  $oSites[^_getSites[]]
  $result.body.data.sites[
    $.data[$oSites]
  ]

#----- Private ------

@_getSites[]
  ^STORAGE.getSites[]

#----- Properties -----

@GET_clientSite[]
  ^if(!def $self._clientSite){
    ^if(^cookie:clientSiteID.int(0)){
      $self._clientSite[^STORAGE.getSiteByID[$cookie:clientSiteID]]
    }{
       $self.clientSite[$STORAGE.SITE]
     }
  }
  $result[$self._clientSite]

@SET_clientSite[objSite]
  ^labourAssert:required[objSite;engineSiteItem]
  $self._clientSite[$objSite]
  $cookie:clientSiteID($clientSite.ID)